package com.xinsoft.service;

import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xinsoft.common.exception.BDException;
import com.xinsoft.entity.dto.QuaMaterialInspectionDTO;
import com.xinsoft.entity.dto.QuaMaterialInspectionParam;
import com.xinsoft.entity.dto.SysCountDTO;
import com.xinsoft.entity.po.QuaMaterialInspection;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xinsoft.entity.po.SysUser;
import com.xinsoft.utils.TokenUtil;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;

import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;

/**
* @author hsm
* @description 针对表【qua_material_inspection(质量检验)】的数据库操作Service
* @createDate 2023-08-14 17:13:36
*/
public interface QuaMaterialInspectionService extends IService<QuaMaterialInspection> {


    IPage<QuaMaterialInspectionDTO> findPageListByParam(QuaMaterialInspectionParam param);

    QuaMaterialInspection addQuaMaterialInspection(QuaMaterialInspectionDTO quaMaterialInspectionDTO);

    QuaMaterialInspection editQuaMaterialInspection(QuaMaterialInspectionDTO quaMaterialInspectionDTO);

    void del(List<Integer> ids);

    QuaMaterialInspectionDTO getQuaMaterialInspection(Integer id);

    void audit(List<Integer> ids);

    void deAudit(List<Integer> ids);

    void firstSampleInspection(Integer dispatchId,Integer firstInspectionType);

    QuaMaterialInspection commitInspection(QuaMaterialInspectionDTO quaMaterialInspectionDTO);

    void produceInspection(Integer processDetailId);

    SysCountDTO inspection();
}
